チュートリアル⑥ 候補が1つなら…概要さて、チュートリアル⑤のソースにさらに1つ加えることで、完成させましょう。
というものです。 リスト候補が1つなら、詳細が出せそうなら表示してしまうチュートリアル④やチュートリアル⑤のソースに対して、以下を加えるだけで、 struct AUTOCOMPLETELIST { LPTSTR wstring_ptr_list[1000]; // やり取りするのは1000個まで size_t list_size; }; extern "C" __declspec(dllexport) AUTOCOMPLETELIST* OnQueryListBoxCustomAdded(HWND hWnd, AUTOCOMPLETELIST *pAutoCompleteOriginalList) { // リストサイズが1の時 if (pAutoCompleteOriginalList->list_size == 1) { int ix = 0; int iItemHeight = SendMessage(hWnd, LB_GETITEMHEIGHT, ix, 0); // 最初の項目のアイテムの高さ String^ strItemText = gcnew String(pAutoCompleteOriginalList->wstring_ptr_list[ix]); // 最初の項目のテキスト ACHelpForm::f->Update(hWnd, ix, strItemText, iItemHeight); } return NULL; } たったこれだけの追記で、下図のように「アイテムを選択していなくても、説明文が表示される」ようになります。 |